iT邦幫忙

2022 iThome 鐵人賽

DAY 5
0
Mobile Development

ios 的小小實驗室 2 !!系列 第 5

AutoFill 4 Xib 版的 AutoFill+TableView

  • 分享至 

  • xImage
  •  

昨天介紹了 Storyboard 版的 AutoFill,今天要介紹如何改用 Xib 去呈現。

p.s 如果忘記專案怎麼建成 xib 檔的,可以參考 這篇文章


  1. 一樣在 CredentialProvider 的檔案夾裡新增 XIB 檔

    成功後會發現有紅色的報錯

  2. 在 swift 裡 import AuthenticationServices,這樣就不會報錯了

  3. 建 TableViewCell 的 XIB 檔

    記得在 MainViewController 的 viewDidLoad 裡註冊 xib

  4. Main Interface 的部分

    記得刪除裡面的選項

  5. Info.plist 的部分

    這是原生的部分

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    	<key>NSExtension</key>
    	<dict>
    		<key>NSExtensionMainStoryboard</key>
    		<string>MainInterface</string>
    		<key>NSExtensionPointIdentifier</key>
    		<string>com.apple.authentication-services-credential-provider-ui</string>
    	</dict>
    </dict>
    </plist>
    

    改用 xib 呈現

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    	<key>NSExtension</key>
    	<dict>
    		<key>NSExtensionPointIdentifier</key>
    		<string>com.apple.authentication-services-credential-provider-ui</string>
    		<key>NSExtensionPrincipalClass</key>
    		<string>$(PRODUCT_MODULE_NAME).MainASCredentialProviderViewController</string>
    	</dict>
    </dict>
    </plist>
    

    若要改用 xib 呈現,要將 NSExtensionMainStoryboard 這個 Row 刪掉

    在 Information Property List 裡的 NSExtension 加入 NSExtensionPrincipalClass
    Type 給 String
    Value 給$(PRODUCT_MODULE_NAME).要呈現畫面的檔案名稱


大功告成,這樣就完成用 Xib 去呈現 AutoFill 的畫面了,明天將會介紹如何製作 勾選自己的 Demo 作為自動填寫密碼時所跳出的畫面


GitHub - XibAutofillDemo


上一篇
AutoFill 3 Storyboard 版的 AutoFill 結合 TableView
下一篇
AutoFill 5 在 設定→密碼→自動填寫密碼 勾選自己的 Demo 所跳出的畫面
系列文
ios 的小小實驗室 2 !!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言